1. Field of the Invention
The present invention relates to a name resolution server and a packet transfer device and, more particularly, to a name resolution server and a packet transfer device which enable customization of a name resolution response based on attribute information of a sender of a name resolution request message.
2. Description of the Related Art
Known as a conventional name resolution server of this kind is a DNS (Domain Name System). The DNS server, as shown in RFC1034, for example, is used in an IP (Internet Protocol) network for making a name resolution mainly from an FQDN (Fully Qualified Domain Name) to an IP address or from an IP address to an FQDN. By sending a DNS query message which is a name resolution request message to a DNS server, a client who requests name resolution makes a request for name resolution and receives a DNS response message as a name resolution response from the DNS server.
When inquired about the same name (FQDN, IP address, etc.), a common DNS server is basically to return the same solution result. (IP address, FQDN, etc.) at any time. In recent years, however, more and more DNS servers have an additional function of returning a different name resolution result according to conditions even when inquired about the same name. In the following, a specific example will be made of the above-described additional function.
First is a function called View of the BIND (Berkeley Internet Name Domain) widely used as server software of a DNS. By using the View, even when inquired about the same name, a DNS server is allowed to change a solution result to be returned to a client according to a source IP address of a DNS query message or an FQDN or an IP address queried by the DNS query message.
In a case, for example, where a source IP address of a DNS query message is a private address, it is possible to return an IP address of a Web server located in an intranet in response to an inquiry about FQDN: www.aaa.com and conversely in a case where a source IP address of the DNS query message is a global IP address, it is possible to return an IP address of a Web server located in an extranet in response to an inquiry about FQDN: www.aaa.com.
There is another case where in a CDN (Content Delivery Network), the above-described additional function of a DNS server is used for the purpose of load distribution of a contents distribution server and improvement of user performance. In a CDN, it is a common practice to arrange one content in a plurality of servers to allot a user's request to an appropriate server in order to distribute loads among servers and to improve user performance. Here, the DNS server is used at the time of selecting a server to which a user's request is to be transmitted.
In a case where for one FQDN, IP addresses of a plurality of contents distribution servers having the same contents are registered in a DNS server, when a client makes an inquiry about the FQDN, the DNS server returns an IP address of an optimum contents distribution server to the client in view of server loads and user performance. Used here as client information is a source IP address of a DNS query message transmitted by a client or a local DNS server (DNS server which receives a DNS query message from a client and is responsible for name resolution processing) in general.
Recited in Japanese Patent Laying-Open (Kokai) No. 2001-273225 (hereinafter referred to as Literature 1) is a method of a DNS server for obtaining, in addition to load conditions of a contents distribution server and location information, not only a source IP address of a DNS query message but also client location information (latitude, longitude, etc.) as information about a client, selecting an optimum server for the client based on these information in response to a DNS query from the client and returning an IP address of the server.
For enabling a DNS server to obtain client's location information, a resolver of the client sends a DNS query message with the client's location information embedded to the DNS server. By receiving the DNS query message with the location information contained, the DNS server is allowed to obtain the location information of the client in question.
First problem of the conventional art is that a DNS server is incapable of customizing name resolution based on various attribute information of a user which has sent a DNS query message. Even if customization is possible, modification of a resolver of the client or that on a node where a DNS query is made is required for embedding various attribute information of the user which has sent the query message into the DNS query message.
Individual users requesting name resolution have a diversity of attributes including, location, favorites, conditions of connection to a using terminal and a network which vary with each user. Customization of name resolution is to change a corresponding name resolution result according to an attribute of a user who has requested name resolution taking such an attribute varying with each user into consideration. Among examples of customization of name resolution are, when making a solution of an IP address corresponding to an FQDN of a server which is distributing moving picture, even with a DNS query having the same FQDN, presenting a solution of an IP address of a server which is conducting distribution in a wide band to a user using an ADSL as a connection line, for example, and conversely presenting a solution of an IP address of a server which is conducting distribution in a narrow band to a user using an ISDN line as a connection line. Customization of name resolution can be realized by making a name resolution further taking more user attribute information into consideration including user's location and favorites and a terminal used.
Conventional DNS servers, however, are allowed to customize name resolution only based on data embedded in a DNS query message. In a common DNS, contained as information about a user in a DNS query message is at most only a source IP address of the DNS query message. Common DNS server is therefore incapable of obtaining other information than a source IP address of a DNS query message. Also with the above-described View function of a BIND, a DNS server is allowed to take only a source IP address of a DNS query message into consideration at the time of name resolution.
When customizing name resolution by using other information than a source IP address of a DNS query message according to conventional art, all the necessary information should be embedded into the DNS query message.
Recited in Literature 1 is a system in which for a DNS server to conduct name resolution based on user's location information, the user's location information is embedded into a DNS query message transmitted by a client. This system, however, has two shortcomings. First is that for embedding information necessary for customization of name resolution into a DNS query message, user's environments including OS and application software used by the user should be changed.
Since currently used resolvers lack in a function of seizing user attribute information and embedding the information into a DNS query message, modification of the resolvers is required. The modification of resolvers of all the users using the DNS server needs enormous costs.
Second is that even when a resolver is changed and user attribute information is embedded into a DNS query message, kinds of user attribute information embedded are fixed to fail to cope with different cases where user attribute information required by a DNS server varies with each DNS server. It is therefore difficult according to the conventional art for a DNS server to obtain user attribute information necessary for customizing name resolution.
Second problem of the conventional art is that a packet transfer device disposed on a path between a DNS server and a client is not allowed to use information (IP address for an FQDN etc.) contained in a DNS response message returned from the DNS server to the client.
Consider a case, for example, where a client connects to a certain Web site. For connecting to the Web site in question, the client first solves an IP address for an FQDN of the Web site in question by using a DNS to connect to the IP address obtained as a result of the solution. In the control related to the connection between the client and the Web site, the DNS server only conducts control of a connection destination, that is, only teaches an IP address of the Web site in question to the client.
Although control related to connection between a client and a Web site further includes control of such a packet transfer method as how to transfer a packet passing on the connection in question (header rewriting, output path control, preferential transfer control, etc.), since the control of the packet transfer methods is realized not by the client but by statically set or dynamically set by a routing protocol or the like on a packet transfer device disposed on a passage between the client and the Web site, a DNS server is not allowed to control these packet transfer methods.
Packet transfer device here represents a total of such devices which conduct packet transfer processing as an Ethernet® switch, an ATM (Asynchronous Transfer Mode) switch, a router, a layer 4 switch and a layer 7 switch.
If a DNS server is allowed to simultaneously conduct both the control of a connection destination at a client and the control of a transfer method at a packet transfer device, the effect of linking two controls will be produced. If in the connection between a client and a Web site as described above, for example, with a client's connection destination as a Web server whose load is the smallest, control, which is to be conducted at a packet transfer device on the way, of preferentially-transferring a packet passing on the connection between the client in question and the Web server in question is executed simultaneously by the DNS server, speed-up of access between the client and the Web site can be effectively realized.
Under these circumstances, however, control of a connection destination at a client and control of a transfer method at a packet transfer device are separately conducted. From the standpoint of the packet transfer device, it is not allowed to use information contained in a DNS response message transmitted by a DNS server to the client, while from the standpoint of the DNS server, it is not allowed to control the transfer method at the packet transfer device by using the DNS response message sent to the client.